package org.example.everyday;

import java.util.Map;
import java.util.TreeMap;

/**
 * <p>
 * Description:TODO 详细描述
 * <p>
 * <p>
 *
 * @author anlu
 * @date 2022/7/19 0019 1:04
 */
public class MyCalendarTwo {

    TreeMap<Integer,Integer> cnt;

    public MyCalendarTwo(){
        cnt = new TreeMap<Integer, Integer>();
    }

    public boolean book(int start, int end){
        int ans = 0;
        int maxBook = 0;
        cnt.put(start, cnt.getOrDefault(start,0) + 1);
        cnt.put(end, cnt.getOrDefault(end,0) - 1);
        for(Map.Entry<Integer, Integer> entry : cnt.entrySet()){
            int freq = entry.getValue();
            maxBook += freq;
            ans = Math.max(maxBook,ans);
            if(maxBook > 2){
                cnt.put(start, cnt.getOrDefault(start,0) - 1);
                cnt.put(end, cnt.getOrDefault(end,0) + 1);
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        MyCalendarTwo myCalendarTwo = new MyCalendarTwo();
        myCalendarTwo.book(10, 20); // returns true
        myCalendarTwo.book(50, 60); // returns true
        myCalendarTwo.book(10, 40); // returns true
        myCalendarTwo.book(5, 15); // returns false
        myCalendarTwo.book(5, 10); // returns true
        myCalendarTwo.book(25, 55); // returns true


    }


}
